Skip to content

Conversation

@EddyLXJ
Copy link
Contributor

@EddyLXJ EddyLXJ commented Oct 27, 2025

Summary:
Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction.

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Differential Revision: D85604160

@meta-codesync
Copy link
Contributor

meta-codesync bot commented Oct 27, 2025

@EddyLXJ has exported this pull request. If you are a Meta employee, you can view the originating Diff in D85604160.

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 27, 2025
EddyLXJ added a commit to EddyLXJ/FBGEMM-1 that referenced this pull request Oct 27, 2025
Summary:
X-link: meta-pytorch/torchrec#3490

X-link: facebookresearch/FBGEMM#2070

Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction. 

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Differential Revision: D85604160
EddyLXJ added a commit to EddyLXJ/torchrec that referenced this pull request Oct 27, 2025
…#3490)

Summary:
X-link: pytorch/FBGEMM#5062


X-link: facebookresearch/FBGEMM#2070

Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction. 

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Differential Revision: D85604160
EddyLXJ added a commit to EddyLXJ/FBGEMM-1 that referenced this pull request Oct 27, 2025
Summary:

X-link: meta-pytorch/torchrec#3490

X-link: facebookresearch/FBGEMM#2070

Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction. 

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Differential Revision: D85604160
EddyLXJ added a commit to EddyLXJ/torchrec that referenced this pull request Oct 30, 2025
…#3490)

Summary:
X-link: pytorch/FBGEMM#5062


X-link: facebookresearch/FBGEMM#2070

Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction. 

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Reviewed By: emlin

Differential Revision: D85604160
EddyLXJ added a commit to EddyLXJ/FBGEMM-1 that referenced this pull request Oct 30, 2025
Summary:

X-link: meta-pytorch/torchrec#3490

X-link: facebookresearch/FBGEMM#2070

Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction. 

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Reviewed By: emlin

Differential Revision: D85604160
EddyLXJ added a commit to EddyLXJ/torchrec that referenced this pull request Oct 30, 2025
…#3490)

Summary:
X-link: pytorch/FBGEMM#5062


X-link: facebookresearch/FBGEMM#2070

Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction. 

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Reviewed By: emlin

Differential Revision: D85604160
EddyLXJ added a commit to EddyLXJ/FBGEMM-1 that referenced this pull request Oct 30, 2025
Summary:

X-link: meta-pytorch/torchrec#3490

X-link: facebookresearch/FBGEMM#2070

Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction. 

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Reviewed By: emlin

Differential Revision: D85604160
…#3490)

Summary:
X-link: pytorch/FBGEMM#5062


X-link: facebookresearch/FBGEMM#2070

Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction. 

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Reviewed By: emlin

Differential Revision: D85604160
EddyLXJ added a commit to EddyLXJ/FBGEMM-1 that referenced this pull request Oct 31, 2025
Summary:

X-link: meta-pytorch/torchrec#3490

X-link: facebookresearch/FBGEMM#2070

Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction. 

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Reviewed By: emlin

Differential Revision: D85604160
@meta-codesync meta-codesync bot closed this in 75dfb7f Nov 1, 2025
meta-codesync bot pushed a commit to pytorch/FBGEMM that referenced this pull request Nov 1, 2025
Summary:
Pull Request resolved: #5062

X-link: meta-pytorch/torchrec#3490

X-link: https://github.com/facebookresearch/FBGEMM/pull/2070

Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction.

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Reviewed By: emlin

Differential Revision: D85604160

fbshipit-source-id: 177ec779960a4ac9bfc3d41f38beeb7e56665db8
Bernard-Liu pushed a commit to ROCm/FBGEMM that referenced this pull request Nov 11, 2025
Summary:
Pull Request resolved: pytorch#5062

X-link: meta-pytorch/torchrec#3490

X-link: https://github.com/facebookresearch/FBGEMM/pull/2070

Before KVZCH is using ID_COUNT and MEM_UTIL eviction trigger mode, both are very tricky and hard for model engineer to decide what num to use for the id count or mem util threshold. Besides that, the eviction start time is out of sync after some time in training, which can cause great qps drop during eviction.

This diff is adding support for free memory trigger eviction. It will check how many free memory left every N batch in every rank and if free memory below the threshold, it will trigger eviction in all tbes of all ranks using all reduce. In this way, we can force the start time of eviction in all ranks.

Reviewed By: emlin

Differential Revision: D85604160

fbshipit-source-id: 177ec779960a4ac9bfc3d41f38beeb7e56665db8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant